package com.leetcode.algorithm.y22.m07;

/**
 * 88. 合并两个有序数组
 * 
 * https://leetcode.cn/problems/merge-sorted-array/
 * 
 * @author jie.deng
 *
 */
public class Question0088Solution01 {
	
	public void merge(int[] nums1, int m, int[] nums2, int n) {
		int idx = m + n - 1;
		// 尾插法
		while (m > 0 && n > 0) {
			if (nums2[n - 1] > nums1[m - 1]) {
				nums1[idx--] = nums2[n - 1];
				n--;
			} else {
				nums1[idx--] = nums1[m - 1];
				m--;
			}
		}
		if (m == 0) {
			while (n > 0) {
				nums1[idx--] = nums2[n - 1];
				n--;
			}
		}
	}    
}
